Automatic telephone polling system

ABSTRACT

An efficient, easily-programmed and annoyance-free polling system includes the utilization of multiple voice synthesizers in multiple identical Telephone Interface Units (TIUs) operating independently under control of their own microprocessor, with the TIUs being connected to a bank of telephone lines. A Master Unit with its own voice synthesizer programs the TIUs for simultaneous polling and receipt of polled information. The voice synthesizer in the Master Unit is used for easy message editing and the elimination of &#34;dead time&#34;. A personal or other computer is used for initialization, message set up and editing, telephone number generation, and cross-correlation and printing of polling results, with the TIUs working independently for simultaneously polling over many telephone lines. In one embodiment, programming of each individual TIU is accomplished through a specialized coding system unique to polling operations. In one embodiment branching occurs on a non-response or an erroneous answer for improved polling results. Message editing capability and trimming of the outgoing message is provided through the changing of the starting address and ending address of the message.

This is a continuation of application Ser. No. 948,145, filed Dec. 31,1986, now abandoned.

FIELD OF INVENTION

The present invention relates to an improved system capable ofautomatically conducting a poll, survey or providing information via thepublic telephone network utilizing a synthesized human voice.

BACKGROUND

The number of Touch Tone (DTMF) and rotary public subscriber telephonesin operation in the United States is pervasive. Consequently, extensiveuse has been made of these telephones to transmit both analog (e.g.voice) and digital (e.g. data) information. It is well known that thepublic telephone subscriber can obtain a wealth of information bydialing for a prerecorded message. Examples are numerous and includedialing for weather, time, sport scores, and stock quotations. Suchexamples do not require the use of a computer to store the informationrequested. Some call in only systems utilize a synthesized voice, withthe latter capability being disclosed in U.S. Pat. No. 4,489,438. Whilethis patent also describes multiple interface units, each connected to adifferent telephone line, each unit is under the control of the maincomputer at all times and does not operate independently.

Polls, however, require human operators either to ask questions or togather responses. Pertinent general polling systems are exemplified bythe U.S. Pat. Nos. 4,377,870; 4,345,315; 4,258,386; 4,151,370;4,107,735; 3,950,618; 3,937,889; 3,909,536; 3,906,450; 3,891,802;3,826,871; 3,794,922; 3,502,813; 3,456,192; 3,210,472; and 3,187,307.Further, the use of synthesized voices to conduct the polling andsubsequent subscriber response, by his telephone keyboard or rotarydial, is disclosed in U.S. Pat. Nos. 4,451,700; 4,320,256; 4,084,081 and3,644,675.

However, none of the above prior art reveals the combination of featuresprovided by the present invention which include virtual simultaneouspolling over any number of telephone lines through the use of multipleidentical Telephone Interface Units (TIUs), operating independently oncea telephone number is transmitted to the TIU by a Master Unit; the useof preselected telephone numbers, or partial random digit dial withpredetermined three digit exchanges; the use of an on-site personalcomputer to generate messages, telephone numbers and cross-correlatepolled data; the utilization of the same type voice synthesizers both ina Master Unit for programming the TIUs and in each TIU for simultaneouspolling over individual telephone lines once the TIU is programmed bythe Master Unit; a programming system having a code especially adaptedto polling operations; reduction of "dead time" by specialized branchingand by a convenient address-specified message editing; incoming signalrecognition by circuitry and TIU programs that approximate an FFTanalysis; recognition of a pulse or rotary dialing telephone at thedialed number and reconfiguration of the associated TIU to be able toreceive responses from either pulse or DTMF dialers; the request ofcooperation in a telephone survey of "X-length"; response by pressingcertain numbers at the recipients telephone; call placing until a presetnumber of valid polls have been attained; prevention of erroneousanswers or silence from contaminating polling results; avoidance ofhaving the poll recorded on a telephone answering machine; "callin"/"call out" convertibility; and the use of a personal computer withan associated printer to control initial message set up and editing, tokeep track of results, to permit on-site cross-correlation of data andto permit on-site readout and printing for providing highly specific andcross-correlated polling results in near real time on an economicalbasis.

More specifically, through the increased utilization of polling systems,there has been an increased reluctance on the part of the recipient toanswer the polling questions, be it human-generated, generated by tape,or generated by synthesized voice. Current polling systems usuallyutilize a single voice generating system, be it a tape or a voicesynthesizer which must be accessed each time a question is to be asked,or the recipient's answer recorded. These types of systems areincreasingly cumbersome because of the number of tape recorders orsynthesizers that are necessary and in view of the fact that in mostsystems, only one outgoing telephone line can be accessed at a time. Inthe usual case, polling may take place over as much as 6 to 10 minutes,with the particular telephone line being tied up for this length oftime. The systems which can only access one speech generator areincapable of doing simultaneous polling over numbers of outgoingtelephone lines. Polling problems are exacerbated by virtue of the factthat most of the polling systems, unless manned by operators, areincapable of distinguishing the types of responses given by therecipient with any degree of accuracy such that the systems oftenmisinterpret a ringing signal, a busy signal, a noise signal, silence,or a Touch Tone signal, and thereafter branch to the wrong type ofmessage. Branching to the wrong type of message not only increases theannoyance of the recipient, but also decreases the accuracy of the polland indeed reduces the credibility of the utilization of these types ofsystems in general.

One of the most annoying factors when utilizing an automatic pollingsystem is the frequent use of telephone answering machines. There isnothing that annoys a recipient more than the recording of a pollingmessage on a telephone answering machine. Presently, automatic pollingsystems cannot detect the fact that they are connected to telephoneanswering machine.

Other problems currently facing the pollster's use of automaticequipment revolves around the correlation of results which often must bemanually entered into a different computer for processing. Currentsystems while able to keep track of answers to individual questions arenot capable of on-site cross-correlation of results. What is thereforeneeded is a system which can correlate, for instance, the number of maleusers with the number of Caucasians, with the number of answers, as towhether the person is a Democrat or Republican, along with a correlationas to age and a correlation as to geographic area.

It will be noted that the most accessable method of correlation togeographic area is the telephone exchange. Thus, a system which iscapable of programming exchanges ahead of time results in a systemcapable of analyzing polling results on an area by area basis in realtime.

The economical utilization of automatic polling systems also isdependent upon obtaining valid responses and eliminating those responseswhich are not valid. Not only does the elimination of non-validresponses permit more efficient use of the equipment so that the pollingcan take place more quickly, the contamination of the polling resultswith non-valid response is indeed an important feature not immediatelyavailable in present day equipment.

Importantly, the most economical method of polling is the ability to beable to use a multiplicity of outgoing telephone lines in such a mannerthat simultaneous polling can be achieved over a number of telephonelines, so that the entire poll can be conducted over a relatively shortand specifically designated period of time. Moreover, the speed withwhich the polling can take place, rather than being dependent uponpolling over a given length of time, is preferably a polling systemwhich shuts down after a predetermined number of valid answers have beenreceived in a given area. The system should also be actuated only over apredetermined time period such as at night after recipients are usuallyin their own homes.

Finally, it is very important to be able to readily encode messages andprovide for multiple type of branching based upon the answers given,with a minimum amount of "dead time" so that the recipient has verylittle opportunity to hang up. Messages must be appropriate, easilyedited, and "natural sounding", so that a natural sounding message istransmitted, with "dead time" between the initial message and anyfollowing messages being virtually eliminated The importance of theelimination of "dead time" cannot be over-emphasized in view of the facta recipient given even a small amount of "dead time" may feelembarrassed about answering a "computer's" questions and hang up thetelephone, as opposed to being encouraged to answer the poll.

SUMMARY OF THE INVENTION

In order to provide for less-annoying, easily programmable, and a moreefficient polling system, the Subject System automatically conducts ascientific public opinion poll. This system utilizes a synthesized humanvoice to poll individual public telephone network subscribers, thenstores and analyzes their telephone responses from either a Touch Tonekeyboard or rotary dial, in near real time to cross-correlate pollresults in the form of a computer printout. The system consists of anumber of major parts, including a personal computer with keyboard andprinter, a Master Unit having a microprocessor and voice synthesizer,and a group of identical Telephone Interface Units (TIUs), each havingthe same type of synthesizer and microprocessor as the Master Unit.Moreover, each TIU includes special circuitry to place and receive callsand to recognize the types of signals from the recipient's telephone.Under control of the personal computer, the digitizer and microprocessorin the Master Unit both initialize all the TIUs with messages andinterface the personal computer via a RS232 serial port with the TIUs.The personal computer, used to control the system, provides operatorinput and output and produces graphic printouts of the subscriber-keyedresponses. The analog-to-digital converter in the Master Unit convertsanalog audio to digital signals for transmission to each TIU dynamicrandom access memory (DRAM), one TIU being required for each line usedfor the polling. The Master Unit also governs the transfer of data toand from the personal computer. Finally, the TIUs are connected to thepublic telephone network via a specialized analog card to establishcalls, to monitor call progress, to provide synthesized audio messages,to detect DTMF and dial telephone responses, and to provide status andresults to the Master Unit for computation by the personal computer.

The subject is thus an efficient easily-programmed and non-annoyingpolling and data aquisition system which includes, either singly or incombination, the utilization of identical voice synthesizers in apolling system for quick branching and easy message editing, as well asfor the elimination of "dead time"; the provision of unique formattingor coding systems for ease of message formatting and results inretrieval in which the number of numbers dialed back, specific numbersdialed back, or numbers within a given set of numbers dialed back can beselected; branching to a new message set if a pulse dialed telephone isreached; the use of a personal or other computer for initialization,message set up and editing, telephone number generation, and on-siteresponse cross-correlation and printout; and, the use of a Master Unitas an interface to a number of identically-configured TelephoneInterface Units, each once initialized, operating virtuallyindependently for simultaneous polling and receipt of information over anumber of telephone lines, once telephone numbers have been inputtedinto the particular TIUs from the personal computer. The personalcomputer and Master Unit are also provided with a token-passing systemto ascertain the identity of a particular TIU and its condition as towhether it is to receive a telephone number or dump its stored receivedresponses back to the personal computer for analysis. Utilization ofmultiple TIUs permits simultaneous or near-simultaneous polling, withthe only time that the TIU is dependent on the personal computer beingthe time that a particular telephone number is inputted into its memoryand the time it dumps its information back through the Master Unit tothe personal computer.

Programming of each individual TIU is accomplished through the MasterUnit which simultaneously programs all TIUs with particular message andbranching sequences. The use of the same type of voice synthesizers ineach TIU and the Master Unit permits random access and branching, aswell as editing capability for the elimination of "dead time" intelephoning, thereby to minimize annoyance of the recipient andconsequent non-response. Branching without the use of a single source ofvoice messages, such as multiple tape recorders or a single all-purposesynthesizer, permits flexibility through the utilization of individualvoice synthesizers and independent computer control within each TIU.

On-line computer cross-correlations permit generation of highly tailoredstatistics from the responses, as opposed to mere tallies of results, toprovide demographic or other profiles, which cross-correlated statisticsare available in printed form from the personal computer's printer on atimely basis.

Branching is aided by a unique inexpensive equivalent to a spectrumanalyzer which analyzes the incoming signals to ascertain a ringingcondition, a busy condition, a voice condition, a noise condition andrecipient silence. This is accomplished by clipping the incoming signalso that it provides pulses and then determining the type of signal thatis coming in by detecting the time difference between rising edges ofadjacent pulses, with correlations of the spectral content of theincoming signal in different frequency channels being utilized tofurther ascertain with a high degree of accuracy the type of incomingsignal. This unit is also utilized to detect the presence of a taperecorder at an answered telephone by the detection of continuous voiceover a predetermined period of time, usually eight seconds, at whichpoint the system hangs up rather than leaving a lengthy message. Thiseliminates annoyance of polling messages recorded on home telephoneanswering machines. This spectrum analyzer hybrid also permits theutilization of expanded criteria for branching by permitting theignoring of noise transients.

Branching decisions are based on answers, with branching to anothersequence on a non-response or an erroneous answer being importantbecause it prevents contaminating the polling with erroneous answers. ADual Tone Multiple Frequency (DTMF) detector is utilized to detectanswers from so-called Touch Tone or DTMF systems, whereas a specializedsystem is utilized for rotary or pulse dialers in which noise introducedvia long distance telephone networks is discriminated against throughthe asking of a recipient to dial a particular number and measuring thetime duration of the noise generated during the pulse-dialed response.Other pulse-dialed numbers are then detected by virtue of the existenceof the same type of noise over a predetermined multiple or fraction ofthe time period of the noise generated by the original pulse-dialednumber. Thus, pulse dialing of a recipient's telephone is detected inone embodiment through detection of a number of noise pulses within apredetermined time period followed by a predetermined silence. Insummary, due to the noisy nature of pulse dialing, the subject system inone embodiment detects a certain pattern of noise "hits" in a period toascertain the numbers from pulse dialing telephones.

Programming of the speech synthesizer in the Master Unit is accomplishedduring an initialization procedure to provide "natural speech", with themethod of speech synthesis also providing editing capability andtrimming of the outgoing message through the changing of the startingaddress and ending address of the message.

Polling in telephone groupings in which the first three digits areselected for given exchanges, followed by four random numbers permitsconvenient fast designation of polling areas, as well as an efficientmeans of generating random telephone numbers with given exchanges. Thisfeature also assists cross-correlation.

Moreover, in one embodiment, the system is inactivated after compiling apredetermined number of responses which are determined to be valid, withthe system also being programmable not to call out during certainperiods during the day, or to be programmed to call out only duringcertain periods of the day.

Finally, "call in"/"call out" convertibility permits the system to beconfigured either in the normal polling system configuration in whichnumbers are randomly dialed, messages given, and resultscross-correlated; or a dial-in system is provided in which no telephonesare dialed. This is accomplished through the utilization of the storageassociated with the aforementioned TIUs, and a detector which detectswhen a TIU is receiving an incoming telephone call.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of the Subject Invention will be betterunderstood taken in conjunction with the Detailed Description and theDrawings of which:

FIG. 1 is a diagramatic representation of the subject systemillustrating the utilization of a personal computer, a keyboard, andassociated printer, along with a rack containing a Master Unit and anumber of Telephone Interface Units connected to a telephone network andthence to individual recipient telephones;

FIG. 2 is a block diagram illustrating the Subject System in which theelements of FIG. 1 are described in more detail, including a furtherfunctional description of each individual Telephone Interface Unit ofFIG. 1;,

FIG. 3 is an expanded block diagram of the Master Unit of FIGS. 1 and 2;

FIG. 4A is a block diagram of the CPU, voice synthesizer and memory foreach of the Telephone Interface Units of FIGS. 1 and 2;

FIG. 4B is a block diagram of the analog circuitry utilized in theTelephone Interface Units of FIGS. 1 and 2.

DETAILED DESCRIPTION

Referring now to FIG. 1, the subject polling system in general includesa Master Unit 10 and a number of Telephone Interface Units 12, each ofwhich is individually connected to a different line in a telephonenetwork 14, which in turn routes each individual TIU to an individualtelephone 16. Master Unit 10 is driven by a computer 18, in a preferredembodiment, a personal computer which has, as is usual, a display 20, amemory and processing unit or CPU 22, a keyboard 24 and optionally aprinter 26 for printing out cross-correlated polling results.

The polling system in general works basically in two modes of operation.The first mode of operation is the "call out" mode in which exchangesare automatically dialed through the programming of the personalcomputer which routes the telephone numbers through the Master Unit to a"free" TIU to dial out the particular number. The personal computergenerates telephone numbers in accordance with a predetermined sequenceor a predetermined set of exchanges, plus randomly generated four digitnumbers. The "call out" mode is utilized to ascertain information fromthe recipient through the utilization of a synthesized voice and cueingsystem which is programmed into the Master Unit by virtue of computer18.

This initial programming is transferred to each TIU such that each TIUoperates independently once having been programmed by the Master Unit,and once having received a telephone number to be dialed. The MasterUnit therefore serves the function of initializing all of the TIUs bysynthesizing the voice messages to be transmitted, ordering themessages, and providing the branching instructions upon receipt ofresponses by the recipient or incoming signal type. The Master Unit thenserves the function of routing to the TIUs the telephone numbers to bedialed and routing to computer 18 via an RS232 interface, theinformation obtained through the polling such that cross-correlation canbe performed by computer 18 and then printed out via printer 26.

Thus, unique to this system is the utilization of a Master Unit tosynthesize the voice to be transmitted via microphone 28, editing of themessages to be transmitted, and the instantaneous replay of the messagesprior to the programming of the TIUs via an internal speaker, hereillustrated in dotted outline by reference character 30. The volume ofthe recorded message is controlled via a front panel control knob 32 andthe level thereof is adjusted in accordance with a bar graph LED typedisplay 34.

It will be appreciated that each of the TIUs is connected to thetelephone network via telephone lines 36 such that the system cansimultaneously poll large numbers of exchanges through the use ofidentically configured TIUs, each with its own synthesizer andmicrocomputer similar to those of Master Unit 10. The use of thesynthesized voice precludes the necessity of using a single synthesizerfor the entire system, be it a tape or an electronic device. The use ofidentical synthesizers in each of the TIUs prohibits the results fromthe polling being skewed because a uniform polling voice is utilized.The packaging is, of course, much smaller than that which would berequired when using multiple tape machines; and the ability to edit andaccess different messages is made considerably easier due to the abilityto address the synthesizers both in the Master Unit and in the TIUs.Thus branching can occur without multiple tape recorders, with each ofthe synthesizers being addressable and independently controlled by themicroprocessor in each TIU. As will be described, the utilization of thesynthesizer and its associated memory permits editing through theutilization of start and end address specifications which reduce theamount of "dead time" in telephoning, such that the branching may beaccomplished quickly.

Thus the utilization of a voice synthesizer and duplicate CPUs andmemories in each of the TIUs permits virtual simultaneous polling,since, once provided with a telephone number, each Telephone InterfaceUnit can call out independently and separately on the telephone linewithout access to any main computer or any shared synthesizer or tape.The Telephone Interface Unit therefore accomplishes all of the functionsnecessary in polling, with the multiple Telephone Interface Units beingboth small in size, programmed initially by the Master Unit and leftalone thereafter to perform the particular polling task.

As will be described, a specialized software-implemented spectrumanalyzer is utilized to distinguish ring signals, busy signals, or noiseto permit branching based on the type of signal that is detected.Moreover, software Fast Fourier Transform (FFT) detection of pulsedialing at a recipient's telephone, the presence of a telephoneanswering machine, or the presence or absence of voice, aids in theoperation of the subject polling system and makes it both efficient andless-annoying for recipients.

Another feature of the subject invention is that branching based onanswers is provided within each Telephone Interface Unit, whichbranching can be preprogrammed by computer 18 or can be a branch due toa nonresponse to a question or an erroneous answer. Branching on anerroneous answer is particularly important because is preventscontaminating the poll with erroneous answers. Thus the poll is a resultof valid answers and assures more accurate results.

With respect to the programming of the speech synthesizer of the MasterUnit, an analog-to-digital converter is utilized followed by a CPU andmemory which in turn outputs message signals to a digital-to-analogconverter which produces a natural sounding voice. This is importantwith respect to polling because of the uniformity of the voice utilizedin the poll and because of the generation of "natural speech" which canduplicate the speech of any individual and therefore can be made to berecognizable. This is in contradistinction to computerized speech whichwould aggravate those being polled to the point that they may hang up.In the subject system an OKI model MSM5218RS is used.

Further, with respect to the use of the personal computer, the pollingmay take place in selected telephone groupings; with the first threedigits being preselected for given areas, e.g. exchanges, and with theremainder of the numbers being generated in a random fashion to providefor the best random sampling possible.

As mentioned hereinbefore, trimming and editing of the outgoing messagethrough the changing of the starting address and ending address, permitsquicker access and effective trimming with less "dead time" which isobjectionable to the respondent. Thus, with the subject trimmingtechniques, the results are professional-sounding messages which can beedited easily without a number of retakes.

Moreover, the entire polling system, while it can take place over agiven time period can be inactivated after compiling a predeterminednumber of valid responses. Additionally, the system can be programmednot to call during certain periods of the day.

As a further feature, each of the TIUs includes a pulse dialing detectorin software which detects numbers of signal pulses within apredetermined time period and a predetermined silence period, such thatif there are the prescribed numbers of pulses and silence, it is assumedthat pulse or rotary dialing has been utilized by the recipient. Sinceeither a Touch Tone (DTMF) telephone or a pulse dialing telephone may bereached and since the Touch Tone telephone has more capability, it isimportant to know the type of telephone connected to a given TIU.

The subject system also has a "call in" feature which can be switched bysoftware selections from the personal computer from the "call out"polling just described. For purposes of the subject invention, "call in"means that rather than accessing telephone network 14 with a sequence ofeither preprogrammed or randomly generated numbers, the system, in thismode of operation, receives the calls from individual network users.These individual calls are routed to "free" TIUs, at which point thefunction of the TIU is identical to the "call out" functions describedbefore. The telephone network selects which of the TIUs the incomingcall is routed to and hunts for an unused or free TIU, with the TIUsensing incoming ring signals.

Referring now to FIG. 2, as can be seen, computer 18 along with printer26 and keyboard 24 is utilized through a RS232 interface 70 to driveMaster Unit 10 which is diagramatically shown in this figure andincludes a synthesizer portion 40 and a microprocessor 42. As will bedescribed, microprocessor 42 includes a CPU and associated memories.This is an important feature of the subject invention in that thesynthesizer, as well as the functions performed by the TIU are connectedby a handshake through the individual CPUs of each of the individualTIUs. The system of driving and processing the outgoing signals, as wellas the incoming signals by utilizing a main memory and a CPU in each TIUwhich duplicates, to a certain extent, the main memory and CPU in theMaster Unit permits the main memory and CPU of each of the TIUs toperform the numerous tasks involved in the polling system without havinga centralized computer which must be accessed on a time-shared basis inorder that the polling functions be performed. This also permits ageneral solution of providing outgoing messages and processing ofincoming information through the utilization of software-drivenapparatus. As will be described, hardware in each TIU provides for tonedecoding, call progress detection, tone generation, dial-pulsegeneration, ring-in detection, and a dial ringing output (DRO)detection, i.e. detection that a telephone number is being dialed.

Referring back to FIG. 2, each TIU 12 includes its own CPU 44, its ownmain memory 46, a voice dynamic memory 48 coupled to a synthesizer 50,its own dialer 52 which is under the control of its CPU, its own tonegenerator 54 such as National model TP5088, a Touch Tone decoder 56 suchas Teltone model 957 and a call progress detector 58. Call progressdetector 58 is commercially available as Teltone model 982 which detectsa dial tone signal, a busy signal, or a ringing signal for purposes ofthe aforementioned branching. The TIU also includes a pulse generator 60such as Motorola model MC14408 and an audio presence signal amplifierand comparator 62 which amplifies the incoming audio signal and squaresup the incoming signal through the utilization of a comparator typeclipping circuit. This is used to produce pulses for signal recognitionby the equivalent of a Fast Fourier Transform analysis system, in whichthe frequency of the incoming signal is utilized by the CPU in the TIUto reliably determine ringing, busy, noise, and voice signals bysoftware processing techniques, thereby to permit branching upon signaltypes which heretofore have been difficult to detect.

The TIU also includes a transmit audio amplifier 64 such as Nationalmodel LM3900 as will be described, as well as, a ring-in signal detectoras part of the telephone interface circuits such as Cermetek model 1810utilized in the "call in" mode of operation.

It will be appreciated that in operation, the system is initializedthrough utilization of keyboard 24 which configures the Master Unit toaccept the entering of a message into the synthesizer portion of theMaster Unit by virtue of microphone 28. The keyboard control alsopermits message trimming through the utilization of start and endaddresses, and establishes the sequence or format for the messagetransmission and receipt of polled information. This information is theresult of the recipient dialing in a number. The keyboard providespreprogramming for the telephone numbers to be dialed either directly orthrough the utilization of exchanges plus random numbers, and permitsdefining the dates and times for the survey. The number of completionsand the maximum number of calls to attempt are also programmed in at thekeyboard. The personal or other computer processes the polling returnsand prints out the cross-correlated results in any of a number ofpredetermined formats, as well as providing a menu selection function sothat the user is easily prompted to configure the system for his ownparticular purposes.

MASTER UNIT

Referring to FIG. 2, in order to implement the menu-driven inputs,computer 18 is coupled to Master Unit 10 by an RS232 interface cable 70which, upon appropriate command, permits the Master Unit to digitize themessages to be transmitted through the polling system and provides animmediate ability to read out and edit through the aforementionedspeaker 30. The output of the Master Unit is coupled via data andaddress busses 72 to each of the TIUs through a back plane attachmentsystem so that the voice-in sequence can be programmed into the TIU, aswell as the branching format which is utilized in the polling process.

Referring now to FIG. 3, microphone 28 is coupled to the Master Unitthrough amplifier 72 which is in turn coupled to an input audio filterand sample-and-hold buffer 74. This buffer is, in turn, coupled to ananalog-to-digital converter 76. A bar graph display 78 is provided whichincludes a bar graph driver and a LED bar graph display 82 of FIG. 7, aswill be described hereinafter.

Analog-to-digital converter 76 is coupled to an analysis and speechsynthesizer unit 84 which, in one commercial embodiment, is an OKI modelMSM5218RS unit. Output of the synthesizer 84 is coupled to anencode/decode-buffer 86 which, in turn, is coupled to a dynamic memory88, which dynamic memory is utilized for the digital storage involved inthe generation of the speech. As can be seen, upon a dump command overline 90 from the Master Unit's CPU 92, the dynamic memory is dumped viabus 94 back through the encode/decode buffer 86 through speechsynthesizer 84 and then out to the output audio filter 96 which drivesspeaker 30. The dynamic memory for the speech is controlled by addressdecoder logic 100 to decode dynamic memory addresses over bus 102 fromCPU 92 and provide the appropriate address to the dynamic memory by anaddress bus 104.

It will be appreciated that the output of the dynamic memory for thespeech is provided over a data bus 106 to a transceiver 108 between thedynamic memory and CPU 92. Transceiver 108, is connected to CPU 92 via adata bus 110. The CPU includes a microprocessor and a buffer and iscoupled to a Master Unit memory generally indicated by dotted box 112 toinclude a PROM 114 connected to the CPU via data bus 116 and address bus118; and to a RAM 120 connected via data bus 122 and address bus 124.The PROM or the RAM is enabled alternatively by a memory decoder 126which is controlled by a memory enable line 128 from CPU 92 to eitheractivate the RAM as a scratch pad memory, or the PROM which is thesoftware drive. Note that memory decoder 126 is driven via an addressbus 130 which is coupled to the CPU 92.

CPU 92, along with its microprocessor and buffer, is utilized in oneinstance via a data bus 132 to drive one portion of a TIU/Master bufferand timing unit 134 which includes, in essence, two sections. The firstsection is the Master/TIU buffer 136 and timing strobe subunit whichserves to couple data generated by CPU 92 via bus 138 to Master/TIU linedrivers 140, which in turn couple data and strobing to the TIUs. Unit140 includes buffers for a non maskable interrupt signal, NMI, which, ingeneral, is used to instruct the TIUs to look at the data, e.g. theoutput of the line drivers which are strobed or sampled at a given time.

The second portion of unit 134 is the TIU/Master buffers 142. It isutilized to transmit information or data from the TIU to the CPU of theMaster Unit. This information is then processed and read out through theRS232 interface cable 70 to computer 18 so that the responses, properlyprocessed by the Master Unit, can be analyzed by computer 18. The RS232interface, as will be described hereinafter, is illustrated by referencecharacter 144.

An LED latch 152 coupled to data bus 132, drives master LED display 154,which provides a visual representation of the mode of operation of theMaster Unit in terms of an "operate" mode, "test" mode and at least two"alarm" modes to, for instance, indicate whether or not there is propercommunication between computer 18 and the Master Unit or between theMaster Unit and the TIUs.

The aforementioned address bus is also utilized to control a portdecoder unit 150 which serves a number of functions critical to theoperation of the Master Unit. In general, the port decoder provides anumber of "enable" signals, as will be described.

The enable signals from the port decoder are controlled via signals overan I/O line 156 from CPU 92. The enable signals from the port decoderare delivered over lines 158-168 such that the enable signal on line 158enables the LED latch 152; the enable signal over line 160 enables theencoder/decoder buffer to the synthesizer, i.e. encoder/decoder unit 86to set the parameters for the synthesizer is terms of the number of bitsand the frequency for proper analysis and synthesis; the enable signalon line 162 and Read or Write commands from the CPU 92 configurestransceiver 108 in either a transmit or receive mode; andencoder/decoder unit 86 in either a corresponding READ or WRITE mode; asignal over line 164 configures via TIU/Master buffer and timing unit142 to indicate to the Master Unit CPU 92 that all of the TIUs are readyfor the next global communication; enable signal over line 166 which iscoupled to subunit 136 reads out information or data to the TIUs; andenable signal over line 168 which is coupled to unit 140 enables themicroprocessor buffers for the transmission of data to the TIUs. Itshould be pointed out that the TIU READY line from the TIUs enterssubunit 142 and is enabled via a signal over line 164 to transmit theTIU READY indication to the CPU via the data bus 132.

Note that there is a WRITE line 172 which is coupled from CPU 92 tosubunit 136 and a READ line 174 which is coupled from CPU 92 to subunit142 for the control thereof.

It will be appreciated that throughout the subject system numerous databusses are shown for ease of description. Also shown are a number ofaddress busses likewise to facilitate the description of the invention.In practice, however, only one data bus is utilized and only one addressbus is utilized for the proper control of the relevant units.

TELEPHONE INTERFACE UNIT

Referring now to FIG. 4A, the CPU memories and synthesizer of each TIUemulate or are made to emulate the corresponding units in the MasterUnit. More specifically, the microprocessor section, the PROM and RAM,the TIU/Master buffer, the Master/TIU buffer, the memory decoder, theport decoders and drivers, the transceivers, the address decoder andmain memory dynamic RAM emulate those of the Master Unit, with theexception that the main memory dynamic RAMs for each TIU have four timesthe capacity of those of the Master Unit because they must store theentire outgoing voice messages, whereas the Master Unit only stores oneat a time. Thus, the data bus from the Master Unit here illustrated inFIG. 4A by reference character 200, is coupled to a Master/TIU bufferand timing subunit 202 of a composite unit 204 which includes theTIU/Master buffer and timing unit 206. It is the purpose of this unit,amongst other things, to provide data over a bus 208 to the CPU 210 ofthe TIU. Likewise, data from CPU 210 is delivered over a bus 212 toTIU/Master and buffer timing unit 206 to be transmitted via bus 214 toMaster Unit 10 and then via the RS232 interface 70 to computer 18, sothat the information derived during polling may be processed. The CPU ineach TIU includes a memory, in general illustrated by dotted box 216, toinclude a PROM 218 and a RAM 220, respectively having data bussesillustrated at 222 and 224 and address busses illustrated at 226 and228; with the PROM and RAM being under the control a memory decoder 230which is driven by a memory enable line 232 and is addressed via anaddress bus 234.

Each TIU includes an identification number generator 240 which is presetby switches SW1 and SW2 to provide a unique code over data line 242 toCPU 210 within the TIU. This uniquely identifies the active TIU forpurposes both of dialing out and transmission of information to therecipient as well as receipt of the polled information from therecipient.

CPU 210 also drives an encoder/decoder buffer 250, which, in turn,drives a dynamic memory 252 which is under control of an address decoderlogic 254 that receives addresses over address bus 256 from CPU 210. Thepurpose of this portion of the dynamic memory is to drive the speechsynthesizer through the encoder/decoder memory 252 and the audio signaldecoder and latch circuit 260 which serves as the speech synthesizer forthe individual TIU. The output of synthesizer 260 is coupled to a lowpass filter and amplifier 262 which is coupled to an analog card 270 tobe described hereinafter.

It will be appreciated that the CPU, voice synthesizer, and memory iscarried on a separate card 272, although the functions as described hereinterrelate as will be seen. As described before, a port decoder anddriver 264 is driven via an address bus 266 from CPU 210 to provide anumber of enable signals over lines 274-286. The enable signal on line274 is coupled to synthesizer 260 to set the parameters for thesynthesizer in terms of the number of bits and the frequency for propersynthesis. The signal over line 276 clocks the data into the latchportion of the synthesizer and then to the synthesizer circuitry. Theenable signal transmitted over line 278 is the aforementioned TIU READYsignal which is transmitted back to the Master Unit. The signaltransmitted over line 280 is coupled to encoder/decoder 250 to enablethe dynamic memory encoder/decoder buffer. The enable signal transmittedover line 282 enables the TIU/Master buffer to enable this unit to senddata back to the Master Unit. The enable signal transmitted over line284 is transmitted to the analog card of FIG. 4B to a microprocessorinterface which includes a data interface 292 and a signal interface294.

Referring back to FIG. 4A, the enable signal over line 284 is coupled todata interface 292 to read data from a Touch Tone or DTMF decoder 296and to permit the writing of data into a dial-pulse generator 298 and atone generator 300 as required. Thus an enabling signal over line 284either reads the results of the DTMF decoder 296 back to the TIU memoryor writes data both into the dial-pulse generator 298 or the Touch Tonegenerator 300 depending on which mode of operation is selected by aswitch S2 coupled to the dial pulse generator and then to the telephoneline interface and buffer amplifier 302 which determines whether TouchTones are transmitted over the telephone network or pulses. Switch S1sets the number of pulses/sec i.e., 10 or 20. In order for the TouchTone generator to provide the appropriate tones they are amplified andbuffered by a transmit audio amplifier and buffer 304, which is alsocoupled to the output of the low pass filter and amplifier 262 totransmit the synthesized voice over the telephone line.

The enable signal over line 286 is coupled to signal interface 294either to write data to an LED display driver 306 or to read data from acall progress detector 308 or the audio present line detector 310 whosefunctions will now be described.

With respect to call progress detector 308, signals from the telephoneline interface buffer and amplifier 302 are applied thereto, with thishardware circuit determining whether the signals over the connectedtelephone line reflect a dial tone, a busy signal, or a ringing signal.

With respect to the audio present amplifier and comparator 310, thisunit is connected to the telephone line interface buffer and amplifierand thence to the signal interface 294 and CPU of the TIU whichindicates via a signal over the appropriate line that an audio signal ispresent which may represent either noise, a voice, or any incoming audiosignal which may be used for any of a variety of purposes. Theprocessing by the CPU constitutes the software analysis of the incomingsignal to identify the type of signal coming in. In one embodiment,preference is given to the software analysis versus the hardwareanalysis of the call progress detector. Here detector 308 is used tocheck the software analysis. Alternatively, the roles can be reversed.

With respect to the LED display driver 306, this driver is utilized toindicate an "off hook" condition, a dial tone receipt, the presence ofringing, the on going polling operation, or an alarm condition such asthe non-receipt of a dial tone.

Referring to FIG. 4B, it will be appreciated, as seen from the diagram,that there is a two-way data bus going from the CPU 210 of the TIU tothe microprocessor interface 290 in that there is two- way communicationover the data bus with respect to the data interface subunit 292,whereas a signal interface subunit 294 also is coupled to this two-waybus. The purpose of the signal interface unit is to hand off to theTIU's CPU the hardware-derived presence of a dial tone, a busy signal, aringing signal, an audio presence signal, and a ring-in signal developedin the telephone line interface 302 is stored in the ring-in flip-flop314, the purpose of which is to establish that an incoming call has beenreceived. The ring-in flip-flop is, as illustrated, coupled to thetelephone line interface buffer and amplifier for this purpose. Note,for the "call in" mode, the reset signal from data interface unit 292 iscoupled to the ring-in flip-flop 314 to reset the ring-in flip-flop toreceive the next call after the present call is finished.

Also provided is a dial ringing output (DRO) signal from DRO unit 316which is coupled to signal interface subunit 294, with a signaltherefrom indicating that a dialing operation is occurring. It will alsobe appreciated that the TIU includes an analog timing section 320 whichhas output signals to control the dial pulse generator 298, the TouchTone generator 300 and to enable DRO unit 316; with signals from theanalog board timing section permitting the dialing of numbers derivedfrom the data interface subunit 292 over data bus 322.

Also shown is an enable line from data interface subunit 292 to thesignal interface subunit 294, which is an Intel model 8212 interruptthat indicates to the CPU that there is data in the 8212 storageregister, with the presence of an enable signal on this line indicatingthat the DTMF decoder has determined that incoming DTMF data is presentand has been latched in the 8212 register, which data is ready to beread out to the TIU's CPU, in this case CPU 210.

As an optional feature, an enable signal from the data interface subunit292 over line 324 may be utilized as a squelch control for the telephoneline interface buffer amplifier 302.

It will also be appreciated that the data interface subunit 292 producesa reset signal over line 326 to the DTMF decoder 296 after a call isfinished, whereas DTMF decoder 296 produces a signal over line 328 backto the data interface unit 292 indicating that the incoming line is aDTMF line, not a pulse line. If the incoming line to which the TIU isconnected via the telephone interface unit 302 is a line which isconnected to a pulse dialing telephone, it would therefore be importantto note this so that specialized processing may be instituted in orderto obtain information relative to polling. Alternatively, informationfrom pulse dialing telephones may be ignored.

OVERALL OPERATION

An understanding of how the subject system operates will be evident fromthe following example of how the user sets up, runs, and displays theresults of a scientific public opinion poll or survey. Note, menusprovide the user with a series of prompts to guide him through theentire set-up, run, and display results sequence.

First, the user turns on his personal computer and enters the correctdate and time on his monitor via his keyboard. The personal computerthen automatically loads the operating program. Following notice of thecopyright and clear RS232 page, the user obtains the Master Menu on hismonitor by pressing ANY KEY on his keyboard.

Pressing S provides the user with the Set Up Survey Menu. Informationfor each of the first four items, i.e.. V, F, P, and T must be recordedor entered into the system prior to running the survey. Accordingly, theuser presses V, which results in a Record Voice Messages Menu appearingon his monitor. He then is prompted through a series of steps to recordhis message at the proper audio level, controlled by adjusting the AudioLevel meter on the Master Unit panel and with the proper message length,"X". When this has been done, the user presses S, which sends therecorded message to the TIUs. A Data Transfer Light Emitting Diode (LED)in each TIU turns on during the recorded message transfer and turns offwhen the transfer is completed. A similar procedure is required for eachdifferent message to be recorded. After all such messages have beentransferred to the TIUs, the user presses X to exit the Record VoiceMessages segment and return to the Set Up Survey Menu.

Next the user presses F to record the flow control, i.e., to determinewhich message is to be sent over the telephone lines and when it is tobe sent. Pressing F provides the user with a Record Flow Control Menu onhis monitor. In the Current Flow Chart example, "A" signifies the firstmessage, "B" the second, "C" the third, etc.; the numbers 1, 2, 3, etc.,representing responses from the person being surveyed. The dash "-"indicates the start of a voice message whose symbol follows. ThusA1B2C3D-BE-CE-DE-E indicates that message "A" followed by response "1"triggers message "B", which with response "2" triggers message "C", withwhich response "3" triggers message "D", etc.. Pressing I allows theuser to input new flow chart data and then pressing S sends the data tothe Master Unit microprocessor for storage. When this has been done theuser presses X to return to the Set Up Survey Menu.

The next item that must be recorded is the telephone information and theuser accordingly presses P. This results in the appropriate TelephoneMenu. From this menu the user has three choices of telephone numbers tocall; that is, numbers arising from a random number generator, a usergenerated list, or a purchased list. The user selects which of the threehe wishes by pressing R, U, or P and enters the required input data asdirected on his monitor prompts. When such input data has been entered,the user presses X and returns the user to the Set Up Survey Menu.

The final item that must be recorded before a survey run can be made isthe survey schedule itself. The subject system allows the user up tothree sets of start and stop times for each day of the survey. Bypressing T on the Set Up Survey Menu the user obtains the Record SurveySchedule Menu. After the proper entries have been made the user pressesX to return to the Set Up Survey Menu. A second pressing of X returnsthe user to the Master Menu. At this point all the needed inputinformation has been entered and the user is ready to run the survey.

By pressing R on the Master Menu, the user obtains an Initializer Menuwhich allows "C" clearing all old data before statring a new survey. "V"is the same as "C" but saves voice messages to hard disc first or "R" tore-start an existing survey as if never stopping, or X for Master Menuthen obtains [if not "X"] a Run Survey Menu. Then items D, V, T, B, andC on this menu are intended for testing and checking the system prior tothe actual running of the survey, which is done automatically on thescheduled time and data, if the system is not in the Dial Test mode orcan be accomplished by pressing S. Pressing P provides the user with areal time printout of the survey results to present as they are obtainedwhile the survey is in progress. When the survey has been completed, ifthe user chooses to terminate the survey at any time he may do so bypressing E. By pressing X he returns to the Master Menu.

After the survey has been completed, the results obtained can beanalyzed by the Display Results programs. These programs analyze theactive survey results to provide the desired information. Access to thedisplay results is obtained by pressing D on the Master Menu whichprovides the Display Results Menu. If the survey was conducted by usingrandom number generated telephone calls, the user presses M, whichallows him to select and analyze only the responses from particularexchanges out of a possible 300 exchanges. If the survey was run witheither user or purchased list telephone numbers, he skips option "M". Ineither case the user presses S, which allows him to define what theprogram is to analyze or search for in the survey results and thentallies and displays them in a printed report.

Finally, current active files on voice messages, survey data or reportinformation can be saved by pressing F on the Master Menu, whichprovides the File Survey Information Menu.

DETAILED OPERATION

In more detail, and referring back now to FIGS. 3 and 4, it will beappreciated that the Master Unit is initialized from the personalcomputer via the RS232 interface as follows:

To record the voice, computer 18 sends the command via RS232 to theMaster CPU telling it to activate the recording section, and whatever isspoken goes through microphone 28, amplifier 72, then buffer 74, thenA/D converter 76, then synthesizer 84, then encode/decode buffer 86, andthen is transmitted to memory 88. At this point buffer 86 is acting as aencoder since it takes the data coming in and encodes it into the datawhich can be stored in the dynamic RAM for speech storage. Samples ofthe speech are clocked into the dynamic RAM until the appropriate key onthe keyboard is depressed, which sends a signal to the RS232 interfaceto instruct the CPU to stop the incoming audio signal. At this point,the Master CPU does not grab the data, but rather ignores it regardlessof the fact that the LED bar graph on the Master Unit will still go upand down whenever somebody speaks. Therefore one can adjust themicrophone and voice volume without actually putting it in the memory.More specifically, when the appropriate key on the keyboard isdepressed, the program in computer 18 converts that key into aparticular token which the CPU recognizes as being the token to recordvoice. Therefore, the CPU starts storing voice data sequentially inmemory. The CPU will continue doing this until the user stops recordingor the Master Unit runs out of memory. If the Master Unit runs out ofmemory, all future data coming in is ignored and an error code isgenerated and displayed. In one embodiment computer 18 displays exactlyhow much data is in memory, so that for each phrase of a message oneknows how much memory and time have been used up and how many secondsone has left.

Once the information is stored in the memory, scratch pad memory 120produces pointers to memory 88 which tells where messages start andstop. For instance, if one were to record a message and this is amessage that might start at zero and end at 7,000 hex, when this messageis complete, the operator instructs the Master Unit to play the memory.This sends another token down to the CPU of the Master Unit, which thengoes to the beginning of the memory as indicated by the dynamic RAM.This starts memory 88 sequentially from the beginning at 000 all the wayto the end address. The Master memory's CPU provides instructions totake the data from DRAM 88 and encode it back into a synthesized voicewhich then goes out through an internal monitor speaker 30. When voiceis played, the raw data is taken from the memory 88, synthesizes it, andcouples it out to speaker 30 so that an operator can listen to it andsee if that is what he wants. After the operator listens to the message,he might decide that he might want to cut off some of the front endaudio. It might have too much dead space or it might have a phrasealtogether that he does not want. So by keyboard control of thecomputer, the operator instructs the deletion of a fraction of a secondfrom memory. That sends a token over the RS232 interface to the CPUwhich then grabs the beginning pointer of the memory as pointed to inthe scratch pad memory 120 and increments it by the amount of bitesrequired to actually represent a half second of speech. What is nowsaved is a new starting address which results in the deletion of thefirst half second from the message.

Every time the operator hits a key to "delete", more speech will bedeleted from the beginning of the message. So every time one sends a"delete" it will move that pointer up by a half second's worth ofmemory. Now the operator can depress the "play" button, and the wholeprocess of playing will begin again. Now instead of starting at 000, itmight start at 200 hex or 2,000 hex depending on how far up the pointeris moved. Note that all deleted speech is still in the memory. It simplyis just not played from its initial starting point.

Now, if the operator decides he went too far forward after he has playedthe message and he wants to go back a little, the operator can undo someof the deleting so that he can back up the same way at half secondincrements until he hears the beginning of what he wants. Sotheoretically one plays the message to see if that is what one wanted.If it is not, one stops the play and decrements again until one hearsthe message the way one wants. This same editing process can be used forthe end of a message, as well as its beginning. Thus, the purpose of theRAM with respect to the CPU as a scratch pad memory is to, at least,control the editing process.

The scratch pad memory or RAM also keeps track of the active TIUs thatare connected to the Master Unit. This is done at the power-on sequence.The Master Unit goes through and polls every possible TIU number andTIUs that answered, with stored data being active in the scratch padRAM. The RAM also contains a lot of miscellaneous variables that theMaster Unit needs to perform functions that are unique for theirparticular purpose and are ignored after that.

Thus, the main function of the RAM is to keep track of memory 88 for howbig the message is and to keep track of the flow chart that comes fromthe RS232 interface. It also keeps track of telephone numbers in thesame way. It is acting as a go-between, between the RS232 interface andthe TIUs for almost everything. The scratch pad memory 120 is atemporary storage memory before the Master Unit can send data to each ofthe individual TIUs. Likewise, when the TIU sends an answer to theMaster Unit, RAM 120 saves the data until computer 18 is ready toreceive and then it transmits this data over the RS232 interface tocomputer 18.

The PROM carries the code of the program for the CPU. The scratch padRAM is strictly a variable and the PROM is the actual controller, alwaysin control of the CPU as far as telling it what to do and what sequenceto follow. The PROM and the RAM can be thought of as one entire block ofmemory. The fact that the PROM is not changeable and the RAM is, is notrelevant for purposes of the present discussion because the CPU can onlyaddress one place at a time. So when the CPU goes to the PROM itaddresses only the PROM and if it needs to get a variable, it will goonly to the RAM. It will never address more than one address at onetime. So, therefore, the PROM is always addressed by itself, as is theRAM.

It is important to note that the Master Unit produces only one voicemessage at a time and that once a message is completed, it istransferred to all of the TIUs simultaneously.

There are several lines used for communication between the Master Unitand the TIU. These are the NMI, the INT, the TIU READY, the data linesand the data strobe. The NMI indicates a nonmaskable interrupt to theTIU's. As far as the CPU is concerned, this is a line which the MasterUnit's CPU 92 pulses to indicate to all TIUs that the CPU is about tosend an address. All TIUs see this signal and all look at it anddepending on their state, they will then wait for the data to come fromthe Master Unit. If they are already polling somebody, they will ignorethe NMI. So the NMI indicates that an address follows.

The next line, the interrupt (INT) line, indicates to a TIU that a databyte has arrived. What that data byte indicates is based on a particularsequence of protocol, but the interrupt line does tell the TIU that datahas arrived and also creates an interrupt on a TIU processor.

The TIU READY line is a line that all TIUs are hooked up tosequentially, and if any one of the polled TIU READY lines is high, thenit stays high. What this does is allow the Master Unit to know when allthe TIUs are completed with particular data communication. For instance,if a TIU is taking a long time to process a particular byte, thecorresponding TIU READY line will stay high until the TIU is ready, andthe Master Unit will wait for that line to go low, for a certain amountof time. Thus, the Master Unit will not send a byte before a TIU isready for it. The two data busses themselves are all the standard 8 bitdata lines The strobes for the data busses indicate to the Master Unitthat data has arrived from the TIU and visa versa.

FORMATTING

The person operating the Computer 18 will send a token to the CPU of theMaster Unit instructing that data be sent to the TIUs. The CPU of theMaster Unit 92 will then address all the TIUs. In other words, it willtell all TIUs present to be prepared to receive voice data. It will thensend the name of that particular message, for instance, the letter "A",followed by an end of text code, followed by all the voice datacorresponding to message "A"; and when it is done sending out themessage, it stops the transmission by sending out an end of transmissioncode. The TIUs will then realize that that is a complete message, andthey themselves will store it with a start and end address so they knowwhere to play that particular message. The result of the foregoing isthat one message has been labeled, such as by the letter "A", and hasbeen stored in this particular configuration in the dynamic memory ofeach of the TIUs. It is then up to the operator to program the flow ofthe messages; in other words how the messages are to be spoken, whichone comes before the next, and also whether the TIU is to wait for ananswer, and what type of answer to wait for, as well as what action isto be taken based on the answer received. This is done by what is calleda flow chart, which consists of a series of letters and symbolsindicating how the polling is to proceed.

FLOW CHART SYMBOLS AND FUNCTIONS

Each letter indicates what message the TIU should send out. Forinstance, if there is an "A" in the flow chart, that is telling the TIUto say message "A" whatever it may be. Following the letter an "action"group tells the TIU what to do after the message corresponding to theletter is communicated. Unique to the coding system is that a characteris used to designate to look for a given return number, a given numberof return numbers, or a number that must exist within a given set ofnumbers, i.e., a "$"; an "'"; or "@". Another character is a ":", thisis used to branch either to a Touch Tone message cycle or to a rotarydial message code depending on the type of telephone that was detectedpreviously. For instance, if the letter is followed by another letter,that means go speak the second message. If the letter is followed by adollar sign and a number, that indicates that the TIU should wait andallow as a valid response, any digit from 1 up to that number. Forinstance A$3 means say message "A" and then wait and allow as a validresponse, the number 1, 2, or 3 from the recipient.

There are three other types of flow chart symbols and, there are 8different ways a flow chart can be written. One way is two letters incombination, for instance AB, that says say message "A" and then go andsay message "B". Another way would be with a dollar sign for instance,A$3B. This means say message "A", wait for a number up to 3 and then goto message "B". A$5B for instance, means one responds with digits 1, 2,3, 4, or 5 and then go to message 8.

Another type of flow chart character is the "at" sign, "@", and it worksthe same way as the dollar sign, except in this case it is the number ofdigits to accept. For instance, A@3B means accept a number up to threedigits in length and then go to message "B".

Another type of flow chart character is the an apostrophe "'". A'3Bmeans wait for a number having exactly 3 digits. This forces therecipient to type in the number of charaters expected. For instance, ifone asks for the recipient's social security number, this will come backwith an error if the recipient does not type in the exact amount ofdigits required.

Another type of flow character is a full colon, ":". For instance, afull colon allows the person controlling the flow chart to base adecision on what type of telephone the person called has. By way ofexample, if one reaches a Touch Tone telephone one may want to ask therecipient one question. If a rotary telephone is reached, one may wantto ask the recipient a different question. One does this by using a fullcolon. For instance, A:CB means if a rotary telephone is detected go tomessage "C", and if it is a Touch Tone, go to message "B". This is thetype of code needed when one is trying to get an age limit or some largenumber of digits coming in. If the system reaches a rotary telephone,one can't go above a "3" due to constraints discussed hereinafter. Inthis case, one has to ask the questions differently.

The standard way of operating is, for instance, A1B2C3D. What this meansis that one transmits a message "A" and then waits for a number. If therecipient responds with a "1", message "B" would be transmitted. If therecipient responds with a "2", the system transmits message "C" becausethe letter following the number "2" is a "C". Thus one can branch basedon an individual number. Moreover, one can branch to the same letter byseveral different paths.

A semi-colon indicates that this is an end message and is used for tworeasons. One is where one says a message where one does not want to askany more questions. Termination is accomplished with a semi-colon.Another reason is that if there is an error at any time from therecipient and one wants to terminate the call, the semi-colon is used.In the subject system flow chart, the system will automatically go to amessage corresponding to the letter previous to a semi-colon and hang upthe telephone. For instance, if one has an "A;" this means transmitmessage "A" and hang up. If the flow chart is, for instance A1B2Z-Z;.then this means if the recipient responds with a "2" to message "A" goto message "Z". Message "Z" says say message "Z" and hang up becausethere is a semi-colon after the Z. Likewise, if one provides a flowchart that says A$3B and the person does not answer with a number "1","2" or "3"; for instance, they respond with a "4" twice in a row, thenthe TIU will look to the first letter previous to the first semi-colon,in our example Z, and say that message and hang up. This is useful forhaving a closing message such as "Thank you very much. Goodbye." So ifsomebody doesn't understand what to do twice in a row, the system canstill politely hang up without just clicking off. The twice-in-a-rowfeature is preprogrammed into the flow chart automatically, with a wronganswer resulting in a message retry.

The last character of the subject flow chart system is a period, andthis indicates to the TIU that there is no further flow chartinformation.

With repsect to the use of a dash "-", and consideringA1B2C3E-BD-CF-D;-EB-FD, the dash separates action groups. Also when theTIU is looking for message B, since the person answers "A" with "1","-B" is found instead of EB. So the letter immediately following a dashis the one that is branched to and spoken.

EXAMPLE

The flow chart, in simplified form, may be AB-B1C2D3E-E;-CD-D;. This canbe interpreted as follows: Each section of this chart is an individualentity on its own. The AB in this case is the start point, and eachsubsequent section is started with a dash. Note, the first letter of aflow chart has an "Implied" dash, i.e., -AB. Thereafter there is acomplete section unto its own. In every case the letter which isindicated first such as the "A" is the message in question which isspoken. For -B1C2D3E message "B" would be the message that was spoken.Any letter or numbers that follow the first letter tells the computerwhat to do next. Now following through one at a time, for the aboveformat message "A" is spoken and then the computer hunts for the nextcharacter, which is a letter, message "B". To find it the computerstarts at the first position and moves until the computer finds a "-B",at which point it stops and says message "B". The next thing followingmessage "B" is a number, so the computer immediately knows that aresponse is expected and the person must dial a "1", "2", or "3". If a"1" is received, it is compared to a "1" in the RAM, and if theycompare, the computer then moves to the next message, and it should goto message "C". The computer then starts at the start point and worksits way through the flow chart looking for a "-C" and when found it saysmessage "C". Since the next character is a "D", it will then look for a"-D" starting at the front of the flow chart and works its way throughto a "-D". It will then say the "D" message. The next character is asemi-colon. This indicates that the survey of this person is complete.The telephone is then hung up. Going back again, if message "B" had beenannunciated and the party on the other end of the line dialed a "2", thecomparator would look at the "1" and find that it would not equal whatwas dialed back. So the computer would skip over the "C" message andlook at the next character which is a "2". Having compared it to "2" thecomputer would move on to the next character which is a "D" and thenhunt for a "-D" message starting at the front of the flow chart and workits way down until it found the "-D". Then the "D" message is said. Thesemi-colon then indicates that the system is to hang up. If therecipient erroneously dialed a "4" which is not contained in the flowchart at all, the "B" message would have been said. The program now goesback with a "4" comparing it with a "1". It does not compare, so twoplaces are skipped to the next character which in this case the number"2". This does not match the "4", so two places are skipped again to the"3". This does not match the "4" either. The computer then looks twospaces over for the next number, but there is no next number. There is adash. When the computer finds the dash it says the party did not dialone of the digits defined by the flow chart and checks to see if message"B" has been said twice. If not, then message "B" is repeated. If thesame thing happens and a "4" or any other invalid response is dialed,the computer determines that an error was made two times in a row. Theprogram then goes to the first letter which has a semicolon followingit. So starting at the front of the sequence, the computer would rolldown until it finds a semicolon, back up one space where it finds "E",and it says message "E". It simply would say "Thank you very much.Goodbye."

PHONE NUMBER GENERATION

In one embodiment, telephone number selection is one of two types. Oneis a random number generator, and the other is a user list from whichnumbers are supplied. In one embodiment, for random number generation oncomputer 18, the operator supplies up to 300 different exchanges andpre-exchange information, for instance area codes, and then decides howmany numbers are to be generated for each exchange during a particularsurvey. A random number is then the four last digits of a telephonenumber. For instance, on exchange 295, the computer would create arandom number from 0000 to 9999 and append the randomly-generated numberto exchange 295. It will be appreciated that the random numbers arecreated at computer 18 through the utilization of any one of many commonrandom number generating routines. Once the random number is generatedcomputer 18 will then send it to CPU 92. CPU 92 will then place thetelephone number in RAM 120.

Once the Master Unit has a number for a TIU, it compares the pre andexchange information (i.e the NON-random part of the number) to see ifit is the same as was received interface from the RS232. If the pre andexchange numbers have been changed, the Master Unit will send them tothe TIU first. In either case, the Master Unit will then send the fourremaining digits (the random part) to the TIU. Once the TIU has thattelephone number it will automatically go through the dialing and andpolling process as indicated with the flow chart and the voice that italready has.

What happens is that the Master Unit on the first pass will send theentire telephone number to a TIU and keep track of the exchange and thetelephone number which are separate. The next telephone number which theMaster Unit is asked to send will be checked against the last one thatwas sent, and if the exchange is the same, it knows that the TIU has thesame exchange. Therefore it will only send the four digits. The TIU doesnot send anything back to the Master Unit which simply remembers what itinitially sent to the particular TIU. Any time the exchange is changed,then the Master Unit will resend and keep track of the new exchange. Atthis point the TIU has the voice and the flow chart required for asurvey and it has at least one telephone number in it. The Master Unitthen polls all TIUs until one of them comes back with a statusindicating that they have an answer from a recipient. The Master Unitwill then indentify that particular TIU and read the response from therecipient. For instance, if the recipient answered "2" to message "A",the Master Unit will get a message that has "A2" in it to indicate thatis how the user answered the question. The Master Unit will store thisresult in its scratch pad memory 120, and then it will wait for theRS232 interface to poll it and give the RS232 interface an indicationthat it has an answer and likewise will send the answer from RAM 120 outthe RS232 interface to computer 18, which will then append the telephoneit sent to the TIU and store the results on disc. The Master Unit willthen indicate to computer 18 that it needs a new telephone number forthat same TIU. Computer 18 then generates a random number or a user listnumber, and sends it down to CPU 92, keeping track of which number wentto each TIU. CPU 92 saves it in RAM 120 and automatically turns aroundand transmits that telephone number back to the TIU that gave it theanswer. The TIU then takes that number and takes the next survey.Meanwhile, the Master Unit begins polling for the next available TIU.This sequence is repeated. It will be apparent from this descriptionthat the TIUs do not operate completely independently. They do, however,operate independently with respect to the polling; but with respect tothe transmission of the polled information back to computer 18 foranalysis and also for obtaining the telephone numbers, the Master Unitmust be connected to the TIUs. Thus, the TIUs are able to go through thepolling sequence once the telephone number has been dialed and they areindependent of each other in the sense that they can dial up ondifferent telephone lines, take a poll and record the results.

OPERATION OF THE TIU

Referring now to FIGS. 4A and 4B, and the operation of a TIU, one of thebiggest differences between the TIU and the Master Unit is that the TIUhas enough memory for four times the amount of memory that the MasterUnit has. Memory 252 thus allows one to have several messages in thememory at one time, approximately 6 minutes of messages in oneembodiment. The CPU of the TIU acts a lot like the CPU of the MasterUnit in that it accepts commands from the Master Unit just as the MasterUnit's CPU accepts commands from the RS232 interface. The CPU has a PROMto control it just as the Master Unit does, and it also a has scratchpad RAM like that of the Master Unit, which is used to save the flowchart and the particular telephone number. It is also used to save theresults from the recipient that it will send back to the Master Unit.Once the four digits of the telephone number are received, the TIU dialsthe telephone number based on the telephone number in its memory.

The TIU contains the capacity to store 6 minutes of speech, which can bemade up of several messages that can be randomly accessed and thusspoken in any required order.

It also contains a scratch pad memory where the telephone number to bedialed is entered, as is the flow chart of messages, a map of thestorage position of the various messages and an area for answers andother return data to be sent back to the Master Unit upon request. ThePROM contains the control code to operate the TIU.

The messages are sent to all the TIUs in parallel. The remainingrequired data, the flow chart sequence and the telephone number must besent individually to each TIU and the exactness verified beforeacceptance for use.

The messages and message flow chart must first be transferred from theMaster Unit to the TIUs. During operation, the Master Unit polls the TIUlooking for an inactive TIU, and when found, the TIU status and lastmessage data is sent to the Master Unit for later analysis by computer18. The Master Unit then transfers a telephone number from computer 18to the TIU. Upon receipt of the last four digits of the telephonenumber, the TIU is activated to start the call, and the telephone numberis dialed, either rotary or DTMF, as per the setting of an internal TIUswitch. The TIU then analyzes the signals coming from the telephone linevia interface buffer and amplifier 302 to find out whether it is a busy,a ring, noise, a SIT tone, or too much audio, indicating an answeringmachine. Upon recognition that a person has answered, the TIU will thenvoice the first message per the flow chart and if no answer is required,will then voice the next message. If an answer is required, the TIU willthen wait for an answer. Once the recipient answers, the TIU willanalyze that answer and see if it is a valid answer. If it is not avalid answer, it will repeat the question one more time, and if it doesnot get a valid answer again it will voice the first message in the flowchart with a semicolon following it, this being a termination message. Avalid answer, is for instance, with a flow chart of A$3B, any number 1,2, or 3, after the message "A" has been spoken. A "4", for instance,would not be a valid answer. An invalid answer is also "no" answer. Ifthe recipient did not understand the question and did not respond rightaway, after a certain amount of time the question is repeated. Thissequence of one repeat if required is for every question asked.

With respect to the analysis of the types of signals that are incoming,there is a DTMF decoder, an audio present amplifier and comparator, acall progress detector including a dial tone, busy, and ring output, aring in detector, and some software detection utilizing the signals fromthe audio present detector and comparator to detect various conditionswhich can exist for the incoming signal to the telephone line interfacebuffer and amplifier 302.

In operation, the hardware portion of the input signal recognitiondetects dial tones, busy signals, rings, Touch Tones, and ring-in. Thesoftware detects rings, busy signals, SIT tones, voice, noise, androtary dialing. In one embodiment the hardware outputs, are dominant orchosen over software outputs with software outputs being used if thereare no available hardware outputs. Actually, the only duplication is forrings and busy signals, with the hardware outputs taking precedence.

A typical sequence for operation of the polling unit would be asfollows: An unused TIU is identified as being capable of receiving atelephone number generated by computer 18. Thereafter, the particulartelephone number to be dialed is computed by computer 18 and isinterfaced through the Master Unit to the particular addressed TIU. TheTIU upon command from computer 18 through data interface subsystem 292causes either dial pulse generation or tone generation of the telephonenumber, which is placed on a particular telephone line. Thereafter, theaudio present amplifier and comparator, the call progress detector andthe DTMF decoder are each ready to analyze the incoming signals. Basedon the receipt of voice coming back through on the telephone line whichis validated, the flow chart is implemented.

SOFTWARE SIGNAL ANALYSIS

With respect to the software analysis of the incoming signal, this isaccomplished within the TIU. After the telephone is dialed, the TIU willthen start monitoring the audio present line 310. It will wait for anysignal coming in from the telephone line which will be amplified by unit302 that feeds the audio present line 310. The audio present line is adigital 1 or 0 based on the audio signal. This particular line issampled repeatedly by the TIU and a rough approximation of the audio isthen brought into the TIU. For instance, if it samples and sees theaudio present line is high for X amount of time and low for X amount oftime, this represents a frequency which the TIU then keeps track of in aseries of frequency slots in its scratch pad RAM at 220. After there isa certain amount of silence, the TIU will then go back and look at thescratch pad RAM and analyze what frequencies have been detected and howmuch of those particular freqencies it saw. More particularly, the audiopresent circuit clips the audio into square waves, providing a series ofpulses corresponding to this audio signal. The time between adjacentpulses determines the frequency of the incoming signal, from which thetype of incoming signal can be deduced. In one embodiment, the frequencyis not directly measured. Rather, the existence of numbers of pulses ofvarious frequencies over various predetermined periods of timedetermines the type of incoming signal.

Thus, with respect to the software signal recognition, the audio presentcircuit produces a series of pulses by which the system recognizes ring,busy, noise, and voice signals. Should this analysis, done via software,fail to sense anything within 21 seconds, the call may be terminated.The program for determining the type of signal is in PROM 218, whichanalyzes the data in the RAM via the CPU. Note, a local ring signal is acombination of specific frequencies. However, for certain long distancecalls the ring signals come in at all types of frequencies includingbroken up noise which sounds like brrrrrr. The subject software candetect all of the different types of rings, while the Teltone model 982call progress detector can only detect a local ring from moderntelephone equipment using a 440 Hz and 480 Hz multiple frequency ringsignal.

RING, BUSY, NOISE, VOICE DETECTION

With respect to the detection of a ring signal by software this isdetected by spectral distribution and by the presence of incoming pulsesexisting, for instance, for 2 seconds followed by a 4 second period ofquiet, or 1 second of pulses followed by 5 seconds of quiet. It will beappreciated that noise usually comes in as short bursts and is ignored.Thus if a series of pulses comes in and is detected for a time intervalless than 120 milliseconds, it is considered to be noise and is ignored.

With respect to a busy signal, pulses from the audio present amplifierand comparator have a prescribed spectral distribution and will bepresent for a half second and quiet for a half second, with a repetitionof this sequence. Or a reorder signal will exist in which a quartersecond of signal will exist, followed by a quarter second of quiet in arepeating cycle. Either one of the aforementioned conditions isdetermined to be a busy signal.

Voice signals are detected as follows. Any signal which is existingbetween rings longer than noise but shorter than the inter-ring intervaland with a particular spectral distribution is determined to be voice.

For more sophisticated determinations, a voice, a ring, or a busycondition can be verified by virtue of frequency determinations for thesignals on the line, with certain frequencies being more characteristicof rings versus busy or voice signals. For instance, at selected timeperiods data is stored with respect to the frequencies of the incomingsignal, with the data being analyzed at preselected times to verify orfurther indicate the type of signal which is on the line. Thus, forinstance, should leading edges be counted, a certain number of countsshould exist over a predetermined time period if the incoming signal isa ring signal. If this number varies significantly from that which isexpected, then further analysis is necessary. In one embodiment, forinstance, 16 frequency channels are developed, each recording theexistence of a signal of a given frequency or frequencies. The highestchannel assumes frequencies at or above a certain frequency, whereas thelowest channel assumes frequencies at or below another certainfrequency. Depending on how many counts are in which channels, it ispossible to determine what the type of signal is on the telephone line.

With respect to the operations that follow, detection of the type ofsignal on the line, and more particularly with respect to a ring, thenumber of rings are counted and should there be more than apredetermined number of rings without an Off-Hook indication, theSubject System hangs up and terminates the call. Should a busy signal bedetected by a predetermined number of busys, the call is likewiseterminated. The status of whether they are rings or busy signals orwhether everything proceeded normally is temporarily stored at the TIU.The TIU then remains inactive until it is polled by the Master Unit, atwhich time it transfers the information through the Master Unit tocomputer 18.

Upon detection of a voice signal such as "Hello", the system waits ahalf second and then the polling sequence is started according to theflow chart which has been stored in the TIU memory. While it might bethought that it is possible to start the polling sequence with theOff-Hook detection, this has proved to be unreliable in manycircumstances, as it is possible to start the polling sequence beforethe recipient gets the handset to his ear.

It will be appreciated that the CPU in the TIU can either causesynthesized voice to be transmitted or can analyze incoming data but notboth at once. If during the interval between two rings, there has been amiscalculation as to the type of signal on the telephone line, and thesynthesizer voice has been placed on the line, then the periodicchecking of the call progress detector will indicate that another ringhas occurred and the TIU can be reset to terminate the messageerroneously started.

PULSE DIALING DETECTION

The system can read in results sent by either Touch Tone or rotarydialed telephones. It is thus important for the system to be able todetect pulse dialing and a pulse dialing detection system isaccomplished in software, with the number of pulses existing within apredetermined time period followed by a predetermined silence periodindicating that a pulse dialing system is being used by the recipient.There are two different problems in detecting pulse dialing. On locallines when one dials a digit "1", one obtains a characteristicmake/break pulsing on the line. The "2" is the same thing repeatedtwice. A "3", of course, is a make/break repeated 3 times. Beyond that,the signals coming back over the telephone lines are not reliable,especially long distance. While locally it is possible to detect anydigit, with long distance one cannot rely on anything over 3.

While this particular make/break footprint of a number of pulses withina predetermined time period is useful for the detection of pulsedialing, there are so many unknowns via long distance lines that adialed "2" from one area may look like a dialed 3 from another area.Thus one might be forced to use a system that will ask the recipient todial a "2"; and then based on the data received in a given timeinterval, a baseline would be established, and all other responses arerelated to this baseline count. Thus, when a "1" or a "3" is dialed, thereceived data time interval will be less or more. The system software isinitialized by asking the recipient to utilize his own telephone to diala specific number such as "2" and measuring the time interval of signalproduced by his dialing of the number "2". Then by analysis of thesignal coming back over the line, a "1" can be deciphered or a " 3" canbe deciphered based on the amount of relative signal produced on thetelephone line. This eliminates the problem of various telephone systemsand lines, as well as instruments that produce the make/break signals,be they the standard rotary make/break relays or synthesized make/breakrelay telephones. In other words, a number "1" would be one half thesignal associated with a "2"; and a "3" would be one and a half timesthe signal associated with a "2".

CONCLUSION

In summary, the subject system has the following features:

First, the subject system utilizes multiple, identical voicesynthesizers, with identical voice synthesizers being utilized in numberof Telephone Interface Units for simultaneous polling over numbers oflines, for reliability, and for ease of access to permit fast randomaccess branching that eliminates "dead time". The utilization ofmultiple identical voice synthesizers permits uniform polling voices tobe utilized so that the results are not skewed. The utilization ofmultiple identical speech synthesizers also provides a much smallerpackage than is possible with tape machines, and is not prone to tapebreakage or destruction.

Secondly, the use of a personal computer or other local computer permitsmessage set up and editing, telephone number generation, and TIU pollingin a token-passing system for a number of identically-configuredTelephone Interface Units. Each TIU operates independently forsimultaneous polling and receipt of information over a number ofdedicated telephone lines once the telephone number has been inputtedfrom the personal computer. Cross-correlation of received information ismade possible with the use of a Master Unit serving as an interface tothe Telephone Interface Units to provide a unique on-site capability forthe polling system.

A further feature is a programming code unique to polling operationswhich makes the subject system exceptionally easy to program.

Moreover, the elimination of "dead time" is a result of initial easymessage editing; a quick branching process is accomplished through theaforementioned utilization of the synthesizers and memories within theTelephone Interface Units; the utilization of an exceptionallyefficient, rapid incoming signal recognition system; and a system ofignoring noise between rings or busy signals so that noise is not actedupon erroneously.

Further, on-line, real-time, cross-correlated statistics generation frommultiple answers, as opposed to a single answer statistics, is animportant feature of the subject system.

The aforementioned rapid signal identification is a result of softwareoperating on a clipped incoming signal, with the interpulse spacing thendetermining the frequency, and thus the type of signal that is coming inover the telephone line. This system can reliably distinguish a ringsignal, a busy signal, a voice signal, a recording machine, or noise,and permits a software rather than a hardware implementation of signalrecognition.

Additionally, and importantly, branching in the subject system may bebased on answers and more particularly can be based on either anon-response to a particular question or an erroneous answer. Branchingon either a non-response or an erroneous answer is particularlyimportant in polling because it prevents contamination in the pollingwith erroneous answers. Thus, the result of the polling process is theresult of obtaining valid answers and assures more accurate results withthe minimum of annoyance for those participating in the poll. In oneembodiment such branching takes place only after the question has beenre-asked after an invlaid answer. Moreover, a voice signal once detectedwill result in the running of the poll, whereas a predetermined numberof ring or busy will terminate the call. SIT detection will alsoterminate the call.

Further, the subject polling system utilized permits selection oftelephone groupings in terms of exchanges in which the first threedigits are selected for given areas, followed by random numbergeneration to permit convenient designation of polling areas followed bycomplete randomness in recipient selection, with this type of telephonenumber generation permitting rapid analysis by area in terms of theexchanges designated.

Additionally, one of the aspects of the subject invention is theinactivation of the polling process after compiling a predeterminednumber of valid responses. This system, while it may be operated to pollover a given time period, can be made to poll over such time as isnecessary to provide a predetermined number of valid responses. This canbe combined with the prevention of polling at certain periods of the dayor polling at predetermined periods of the day. Regardless of when thepolling system is set to operate, it is the determination of apredetermined number of valid responses, which in one embodiment, shutsdown the polling process.

Moreover, the subject system can be configured rapidly into a "call out"polling system such as described or a "call in only" polling system inwhich there is no call out feature. The public telephone network can beused to automatically determine which of the Telephone Interface Unitsare free to receive an incoming call.

Further, a pulse dialing detection system is provided in which thedetection of a pulse dialing telephone at the recipient's site isdetermined by a footprint match of number of pulses followed by apredetermined silence. The pulse dialing detection is also enhancedthrough a system which requests a recipient having a pulse dialingtelephone to dial a predetermined number which produces a certain noisetime pattern from which other dialed numbers can be determined.

It will be appreciated that the above features can be taken eithersingly or in combination.

Having above indicated a preferred embodiment of the present invention,it will occur to those skilled in the art that modifications andalternatives can be practiced within the spirit of invention. It isaccordingly intended to define the scope of the invention only asindicated in the following claims.

What is claimed is:
 1. In an automatic telephone polling system havingnumbers of telephone interface units, each connected to a different lineand each having a digitally-driven speech synthesis system, means forprogramming said units including a master unit having the same typespeech synthesis system, whereby all telephone interface units can beeasily simultaneously and initially programmed with the same messagesfrom the master unit, and whereby all polling from the telephoneinterface units will have a uniformity dictated by the speech synthesisgenerated by the master unit.
 2. A system for conducting simultaneousinformation exchange over a number of telephone lines, including bothDTMF and rotary/pulse signals, comprising:a number ofindividually-programmed telephone interface units for transmittingmicrophone-recorded predetermined voice messages over respectivetelephone lines and for receiving live information transmitted over thecorresponding telephone line from an individual at the other end of atelephone line, each telephone interface unit operating independentlyonce connected to a telephone line; and computer means connected to eachtelephone interface unit for programming said unit prior to itsconnection to a telephone line; each said telephone interface unitincluding means for storing responses received from said individual asASCII characters, said computer means including means for collectingsaid responses in each telephone interface unit.
 3. The system of claim2 wherein said computer means includes means for cross-correlatingstored data and for displaying the results of the correlation.
 4. Asystem for conducting a poll comprising:a computer, a computer programfor setting up the poll format, for designating a set of telephonenumbers, and for storing the results of the poll taken; a number ofsubstantially-identical telephone interface units coupled one each to adifferent telephone line, and each having its own microcomputer andstorage, a voice synthesizer, and means for recognizing types ofincoming signals; and a master unit for operably connecting thetelephone interface units to said computer during initialization of thetelephone interface units, to provide a telephone number to a telephoneinterface unit, and only to recover information stored in the telephoneinterface unit whereby each telephone interface unit operatesindependently of said computer during a polling sequence.
 5. The systemof claim 4 wherein said master unit includes a master unit voicesynthesizer having a digital-to-analog converter and means forprogramming said master unit voice synthesizer under control of saidcomputer, with said programming means including a microphone, ananalog-to-digital converter, storage means, audio reproduction meanscoupled to said voice synthesizer, and means for reading out saidstorage means to said master unit voice synthesizer.
 6. The system ofclaim 4 wherein the voice synthesizer of said master unit issubstantially identical to those of said telephone interface units tofacilitate the programming of each telephone interface unit withidentical sounding messages.
 7. The system of claim 4 wherein saidmaster unit includes means for storing both messages and formattinginstructions, and means for transmitting messages and formattinginstructions to each of said telephone interface units.
 8. The system ofclaim 4 wherein each of said telephone interface units includes bothhardware and software means for determining the types of incomingsignals.
 9. The system of claim 8 wherein said software means includes ahardware clipping circuit and means for determining the time betweenadjacent pulses produced by said clipping circuit, thereby to permitderivation of the frequency of an incoming signal.
 10. The system ofclaim 8 wherein said software means includes means for sampling anyincoming signal at predetermined times and for storing the frequency orfrequencies of said incoming signal in frequency bins so as to provide arough spectral analysis of the incoming telephone signals.
 11. Thesystem of claim 8 wherein said software means includes means responsiveto a predetermined spectral analysis for branching to a predeterminedportion of said poll format.
 12. The system of claim 4 wherein saidsystem includes a digitally-driven voice synthesizer, digital storagemeans for digitally storing a message to be transmitted, and means forchanging the start and end addresses of said digital storage means fortrimming said message and thus trimming dead time out of said pollingsequence.
 13. The system of claim 5 which includes a digitally-drivenvoice synthesizer, whereby a message can be trimmed and wherebybranching to given messages can be made natural sounding.